Skip to content

LFavano/Lorenzo-il-Magnifico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lorenzo il Magnifico

Lorenzo Box Icon

Gioco de Lorenzo il Magnifico sviluppato in Java, con un approccio client-server

Funzionalità

Categorie Sviluppate nel progetto:

  1. Regole Semplificate
  2. Regole Complete
  3. Socket
  4. CLI
  5. GUI
  6. Funzionalità Avanzate

Le funzionalità sviluppate in dettaglio sono:

Avvio:

  • Possibilità di avvio tramite terminale o file batch o script
  • Avvio separato Client / Server
  • Stanza di attesa per la ricerca di una partita
  • Caricamento dei settaggi della stanza da file XML

Stanza:

  • Log-in per utenti che hanno già giocato
  • Visualizzazione delle statistiche personali a seguti del log-in
  • Timer per l'auto avvio di una partita per meno di 4 giocatori
  • Timer per l'auto avvio di una partita dopo aver raggiunto i 4 giocatori
  • Possibilità di far partire una partita in qualsiasi momento

Board:

  • Gestione dei leader (Gioca, Attiva, Scarta) secondo le regole, con caricamento casuale da file XML
  • Gestione delle scomuniche con caricamento casuale da file XML
  • Caricamento dei settaggi della Board di gioco da file XML
  • Timer per la gestione dei turni di gioco, gestione di giocatore AFK
  • Possibilità di passare un turno con un azione nulla
  • Visione della plancia personale di un qualsiasi giocatore
  • Gestione della board funzionante (Adattamento al numero di giocatori, Piazzamento Familiari, Pulizia ecc..)

Server:

  • Gestione della connessione Client - Server
  • Possibilità di mantenere connessioni multiple (più partite contemporanteamente)

Extra:

  • Permanenza dei dati su file XML
  • Model e server adattati per permettere ad un quinto giocatore di giocare la partita

Avvio

Tramite repository di GitHub è possibile scaricare l'ultima versione che è stata esportata come jar eseguibile e caricata nella categoria Release. Tale file jar va eseguito tramite il seguente comando da terminale.

> java -jar Lorenzo.jar

All'avvio sarà possibile scegliere se eseguire un Server oppure un Client, nel secondo casò bisognerà quindi scrivere l'IP del server che è stato avviato in precedenza, in seguto verrà richiesto se avviare il gioco con interfaccia GUI o con interfaccia CLI.

N.B.

In questa release sono state pre-inserite delle utenze prova presenti nel file XML, le password sono state criptate con l'algoritmo SHA-224. Le utenze prova sono:

  • Username: mfeo15 Password: password
  • Username: dragonet95 Password: password
  • Username: yaoberga Password: password

Testing

Il testing è stato eseguito sulla maggior parte del codice del Model, con particolare attenzione per le classi fondamentali come Resources, Actions, Cards e Effects. Anche parte del networking è stato testato.

Documentazione Java

La documentazione completa in JavaDoc delle classi è disponibile qui

Sviluppato con

Contributi

  • Francesco Marconi
  • Giovanni Quattrocchi

Un ringraziamento speciale ad entrambi per l'aiuto alla realizzazione di questo progetto

Autori

  • Luca Favano
  • Matteo Yann Feo
  • Aaron Karama

Hanno collaborato per lo sviluppo del progetto

Licenza

Progetto svolto in collaborazione col Politecnico di Milano e Cranio Games che ci ha concesso la licenza di utilizzo del materiale grafico.

About

Progetto finale per ingegneria informatica 2017 - PoliMi

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages